﻿using System.Data;
using DataScripter.Scripting;
using DataScripter.Scripting.Output;

namespace DataScripter.Database
{
    public interface IDatabaseFactory
    {
        void InitializeConnection(IDbConnection connection);

        IDatabaseStructure CreateDatabaseStructure(IEngine engine);
        IDataProducer CreateDataProducer(ScriptOptions options, IEngine engine);
        IOutputProducer CreateOutputProducer(ScriptOptions options, IDataProducer dataProducer);
    }
}